AWS EC2 인스턴스에 WordPress 설치 해보기
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 AWS EC2 인스턴스에 WordPress를 설치해 보도록 하겠습니다.
RDS MySQL 생성
먼저 RDS에서「데이터베이스 생성」버튼을 클릭합니다.
MySQL을 선택하고, 템플릿은 프리 티어를 선택합니다.
DB 인스턴스 식별자는 wordpress로 입력하고, 마스터 암호를 입력해 줍니다.
마지막으로 초기 데이터베이스 이름을 입력합니다.
그리고 데이터베이스 생성 버튼을 클릭해서 데이터베이스를 생성합니다.
EC2 인스턴스 생성
EC2에서 인스턴스 시작 버튼을 클릭합니다.
Amazon Linux 2 AMI를 선택합니다.
디폴트로 선택 되어있는 프리 티어를 선택하고, 검토 및 시작 버튼을 클릭합니다.
이어서 보안 그룹을 설정 합니다.
SSH 프로토콜을 사용하여 EC2 인스턴스에 로그인하고 WordPress를 구성할 수 있도록 현재 IP 주소에서 들어오는 SSH 트래픽을 허용합니다. 사용자가 WordPress 사이트를 볼 수 있도록 모든 IP 주소에서 들어오는 HTTP 트래픽을 허용합니다.
wordpress라는 이름으로 키 페어를 생성하고 키 페어를 다운로드 합니다. 다운로드가 끝나면 인스턴스 시작 버튼을 눌러 인스턴스를 생성을 합니다.
EC2와 RDS 연동
RDS에서 연결 & 보안 탭에서 VPC 보안 그룹을 선택합니다.
Edit inbound rules 버튼을 클릭합니다.
유형은 MYSQL/Aurora를 선택하고 소스는 EC2의 보안그룹을 선택합니다. wordpress를 입력하면 EC2 보안그룹이 나옵니다.
chmod 600 wordpress.pem
이제 EC2 인스턴스에 접속하기 위해서 pem파일에 600 권한을 줍니다.
터미널에서 해당 커맨드를 복사해서 EC2에 접속합니다.
sudo yum install -y mysql
EC2에 mysql을 설치합니다.
RDS 연결 & 보안 탭에서 엔드포인트를 복사합니다.
export MYSQL_HOST=엔드포인트
터미널에서 MySQL 호스트에 대한 환경 변수를 설정합니다.
mysql --user=admin --password=password wordpress
RDS를 생성할 때 설정한 유저와 비밀번호를 입력합니다.
접속에 성공하면 다음과 같은 화면이 나옵니다.
CREATE USER 'wordpress' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON wordpress.* TO wordpress; FLUSH PRIVILEGES; Exit
마지막으로 WordPress 애플리케이션의 데이터베이스 사용자를 생성하고 “wordpress” 데이터베이스에 액세스할 권한을 부여합니다.
EC2에서 WordPress 구성
sudo yum install -y httpd
위 커맨드로 Apache를 설치합니다.
sudo service httpd start
Apache 웹 서버를 시작합니다.
EC2 Ipv4 주소로 접속해 보면, 아파치 웹 서버가 정상 작동하는 것을 볼 수 있습니다.
wget https://wordpress.org/latest.tar.gz tar -xzf latest.tar.gz
이제 WordPress를 설치하고 구성하는 작업을 해보도록 하겠습니다. 먼저, 터미널에서 다음의 커맨드를 실행하여 소프트웨어를 다운로드하고 압축을 해제합니다.
cd wordpress cp wp-config-sample.php wp-config.php
다음 커맨드로 디렉토리를 wordpress로 변경하고 기본 구성 파일의 사본을 생성합니다.
nano wp-config.php
이제 nano 편집기로 wp-config.php 파일을 편집합니다.
- DB_NAME : RDS에서 설정한 데이터베이스 이름
- DB_USER : Mysql에서 설정한 유저 이름
- DB_PASSWORD : Mysql에서 설정한 비밀번호
- DB_HOST : RDS 엔드포인트
이어서 여기에 접속 해서, the Authentication Unique Keys and Salts를 설정합니다.
키 값을 복사해서 넣어준 다음, Ctrl+O로 저장하고 Ctrl+X로 빠져나옵니다.
sudo amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2
WordPress에 필요한 애플리케이션 종속성을 설치합니다.
cd /home/ec2-user sudo cp -r wordpress/* /var/www/html/ sudo service httpd restart
올바른 디렉토리로 이동한 다음, WordPress 애플리케이션 파일을 Apache에서 사용하는 /var/www/html 디렉터리에 복사합니다. 마지막으로 변경 사항이 적용되도록 Apache 웹 서버를 다시 시작합니다.
다시 EC2 인스턴스 Ipv4 주소로 접속해 보면, 워드프레스 설치 페이지가 나옵니다.
WordPress 접속
적당히 입력한 다음 Install WordPress 버튼을 클릭합니다.
Log In 버튼을 클릭합니다.
아이디와 비밀번호를 입력하고 로그인합니다.
성공적으로 WordPress에 접속된 것을 확인할 수 있습니다.